1. Field of the Invention
The present invention generally relates to data processing and more particularly to providing an abstract representation for data in a database.
2. Description of the Related Art
Databases are computerized information storage and retrieval systems. A relational database management system is a computer database management system (DBMS) that uses relational techniques for storing and retrieving data. The most prevalent type of database is the relational database, a tabular database in which data is defined so that it can be reorganized and accessed in a number of different ways. A distributed database is one that can be dispersed or replicated among different points in a network. An object-oriented programming database is one that is congruent with the data defined in object classes and subclasses.
Regardless of the particular architecture, in a DBMS, a requesting entity (e.g., an application or the operating system) demands access to a specified database by issuing a database access request. Such requests may include, for instance, simple catalog lookup requests or transactions and combinations of transactions that operate to read, change and add specified records in the database. These requests are made using high-level query languages such as the Structured Query Language (SQL) in the case of a relational database. Illustratively, SQL is used to make interactive queries for getting information from and updating a database such as International Business Machines' (IBM) DB2, Microsoft's SQL Server, and database products from Oracle, Sybase, and Computer Associates. The term “query” denominates a set of commands for retrieving data from a stored database. Queries take the form of a command language that lets programmers and programs select, insert, update, find out the location of data in a database, and so forth.
In commonly assigned U.S. patent application Ser. No. 10/083,075 (the '075 application), filed Feb. 26, 2002 entitled “Improved Application Flexibility Through Database Schema and Query Abstraction”, a framework was disclosed for logically viewing physical data. The framework of the '075 application provided a requesting entity (i.e., an end-user or application) with an abstract representation of physical data. In other words, the framework of the '075 application provided the requesting entity with an abstract data model that logically describes an underlying physical data structure. In this way, the requesting entity is decoupled from the underlying physical data to be accessed. Logical queries based on the framework can be constructed without regard for the makeup of the physical data. Further, changes to the physical data do not necessitate changes to applications accessing the physical data.
In general, when using the framework of the '075 application in a relational database environment, one abstract data model is created for each table in the relational database. Moreover, the task of creating abstract data models is typically performed by an operator or database administrator. Consequently, if the relational database comprises a large number of tables or if a large number of new tables is frequently generated for the database, this task rapidly becomes time-consuming for the operator or database administrator. In addition, in many cases a relational database may contain multiple tables with different table names and storing different physical data, but having the same physical layout or underlying data structure. For instance, assume a company that has a scientific tool that runs an experiment and stores results to a new database table each time the experiment is run. Assume further that the tool runs periodically and produces the same columns of data. In this example, the respective table names and the physical data in each table are the only differences between all generated new database tables, while all of them have similar physical data structures. Typically, for each generated database table a separate logical representation is created. In other words, if the scientific tool runs daily, each day a new logical representation is created for the newly generated database table.
Therefore, there is a need for an improved and more flexible method for architecting abstract representations for physical data in a database.